//================v2要点总结===============
/**
 * 1. 尝试位运算，官方题解，通过与1进行与操作，得到最低位的值，并将其移位至颠倒后对应的位置，再跟rev进行或运算
 * 
 */

/**
 * @param {number} n - a positive integer
 * @return {number} - a positive integer
 */
var reverseBits = function (n) {
    let rev = 0;
    for (let i = 0; i < 32 && n > 0; ++i) {
        rev |= (n & 1) << (31 - i);
        n >>>= 1;
    }
    return rev >>> 0;
};

console.log(reverseBits(11))